package com.websem.client.services;

import java.util.HashMap;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * 
 * @author issam
 * 
 */
public interface FilmServiceAsync {

	void getFilms(AsyncCallback<List<HashMap<String, String>>> callback);

	void getGenre(AsyncCallback<List<String>> callback);

	void getCountry(AsyncCallback<List<String>> callback);

	void getLanguage(AsyncCallback<List<String>> callback);
	
	void getVersion(AsyncCallback<List<String>> callback);
	
	void getFilmByGenre(String genre, AsyncCallback<List<HashMap<String, String>>> callback);
	
	void getFilmByCountry(String country, AsyncCallback<List<HashMap<String, String>>> callback);
	
	void getFilmByLanguage(String language, AsyncCallback<List<HashMap<String, String>>> callback);
	
	void getFilmByDate(String date,
			AsyncCallback<List<HashMap<String, String>>> callback);
	
	void getFilmByVersion(String version, AsyncCallback<List<HashMap<String, String>>> callback);
	
	void getFilmByWord(String word, AsyncCallback<List<HashMap<String, String>>> callback);
	
	void getComingSoonFilm(AsyncCallback<List<HashMap<String, String>>> callback);

	void getPrizes(AsyncCallback<List<String>> callback);

	void getFilmByPrize(String prize,
			AsyncCallback<List<HashMap<String, String>>> asyncCallback);

	void findFilms(String genre, String country, String prize, String language,
			String date, String version,
			AsyncCallback<List<HashMap<String, String>>> callback);

}
